Aggregation and propagation of sensor data within neighbor discovery messages in a tree-based ad hoc network

ABSTRACT

In one embodiment, a method comprises attaching, by a mobile router, to an attachment router according to a protocol requiring establishment of a tree topology having a single clusterhead, the attaching by the mobile router based on the mobile router receiving, from the attachment router, an advertisement message specifying an attachment prefix; outputting a second advertisement message specifying availability of a prescribed address prefix used by the mobile router, and further specifying attributes of the mobile router relative to the tree topology; receiving a plurality of sensor data messages from at least one attached sensor host node, each sensor data message specifying at least one sensor data element specifying a detected sensor parameter; aggregating the sensor data elements from the sensor data messages into aggregated sensor data; and generating and outputting a neighbor advertisement message to the attachment router, the neighbor advertisement message specifying the aggregated sensor data.

This application is a continuation of copending application Ser. No.11/862,845, filed Sep. 27, 2007.

TECHNICAL FIELD

The present disclosure generally relates to sensor networks, for examplemesh networks or ad hoc networks that transport data packets carryingsensor data from sensor host nodes.

BACKGROUND

Sensor networks enable sensor data from remote sensors to be transportedwithin data packets to a destination controller, for example anexecutable application configured for monitoring the sensor data. Theremote sensors (e.g., video cameras, weather sensors, etc.) can beimplemented as sensor host nodes configured for forming a wireless meshnetwork configured for reaching the destination controller. Sensornetworks can be deployed on a large scale that covers a large geographicarea (e.g., a wireless mesh weather forecasting network), or a smallerscale that relies on centimeter-sized (or smaller) sensor host nodes,also referred to as “sensor dust”. Smaller sensor host nodes such as the“sensor dust” have limited battery life, however, and therefore arelimited in their ability in relaying data packets from other sensor hostnodes throughout the wireless mesh network. Mobile routers also can bedeployed to form the mesh network, enabling the sensor host nodes to beimplemented for example as wireless IPv6 host nodes. Hence, the mobilerouters forming the mesh network serve as default gateways for thesensor host nodes, enabling transport of the data packets transmitted bythe sensor host nodes and carrying the sensor data to the destinationcontroller via the mesh network.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference is made to the attached drawings, wherein elements having thesame reference numeral designations represent like elements throughoutand wherein:

FIG. 1 illustrates an example system having mobile routers configuredfor aggregating sensor data received from sensor host notes, andforwarding the aggregated sensor data to a clusterhead of a tree-basedad hoc mobile network, according to an example embodiment.

FIG. 2 illustrates the tree-based ad hoc mobile network of FIG. 1 andformed by the mobile routers of FIG. 1, according to an exampleembodiment.

FIG. 3 illustrates an example router advertisement message, according toan example embodiment.

FIG. 4 illustrates example neighbor advertisement messages generated bythe mobile routers of FIGS. 1 and 2 and including aggregated networkprefix reachability information and aggregated sensor data, according toan example embodiment.

FIG. 5 illustrates an example mobile router, according to an exampleembodiment.

FIG. 6 illustrates an example method by the mobile router of FIG. 5 ofgenerating and outputting, to a default attachment router, a neighboradvertisement message including aggregated network prefix reachabilityinformation and aggregated sensor data, according to an exampleembodiment.

FIG. 7 illustrates an example method by the mobile router of FIG. 5 ofgenerating and outputting updated neighbor advertisement messages,according to an example embodiment.

DESCRIPTION OF EXAMPLE EMBODIMENTS Overview

In one embodiment, a method comprises attaching, by a mobile router, toan attachment router according to a protocol requiring establishment ofa tree topology having a single clusterhead, the attaching by the mobilerouter based on the mobile router receiving, from the attachment router,an advertisement message specifying an attachment prefix; outputting bythe mobile router a second advertisement message specifying availabilityof a prescribed address prefix used by the mobile router and distinctfrom the attachment prefix, and further specifying attributes of themobile router relative to the tree topology; receiving by the mobilerouter a plurality of sensor data messages from at least one attachedsensor host node, each sensor data message specifying at least onesensor data element specifying a detected sensor parameter; aggregatingby the mobile router the sensor data elements from the sensor datamessages into aggregated sensor data; and generating and outputting bythe mobile router a neighbor advertisement message to the attachmentrouter, the neighbor advertisement message specifying the aggregatedsensor data.

In another embodiment, an apparatus comprises an Internet Protocol (IP)interface circuit and a second circuit. The IP interface circuit isconfigured for receiving an advertisement message that specifies anattachment prefix from an attachment router. The IP interface circuitfurther is configured for outputting a second advertisement messagespecifying availability of a prescribed address prefix used by theapparatus and distinct from the attachment prefix. The IP interfacecircuit further is configured for receiving a plurality of sensor datamessages from at least one attached sensor host node, each sensor datamessage specifying at least one sensor data element specifying adetected sensor parameter. The second circuit is configured forattaching to the attachment router according to a protocol requiringestablishment of a tree topology having a single clusterhead. The secondcircuit further is configured for generating the second advertisementmessage to specify attributes of the apparatus relative to the treetopology. The second circuit further is configured for generating thesecond advertisement message in response to attachment to the attachmentrouter. The second circuit further is configured for aggregating thesensor data elements from the sensor data messages into aggregatedsensor data, and generating, for output by the IP interface circuit, aneighbor advertisement message to the attachment router and thatspecifies the aggregated sensor data.

DETAILED DESCRIPTION

Particular embodiments enable mobile routers to establish a wireless adhoc mobile network having a tree-based topology, and output neighboradvertisement messages toward the root (i.e., clusterhead) of thetree-based topology. The neighbor advertisement messages can specifyaggregated network prefix reachability information, as described incommonly-assigned US Patent Publication No. 2005/0265259, published Dec.1, 2005, entitled “ARRANGEMENT FOR PROVIDING NETWORK PREFIX INFORMATIONFROM ATTACHED MOBILE ROUTERS TO A CLUSTERHEAD IN A TREE-BASED AD HOCMOBILE NETWORK”. The neighbor advertisement messages also can specifyaggregated sensor data based on an aggregation of received sensor datamessages from attached sensor host nodes. If a given mobile router is anintermediate mobile router that serves as a default attachment routerfor at least one attached mobile router, the intermediate mobile routercan generate its aggregated sensor data based on an aggregation of thereceived sensor data messages from attached sensor host nodes, plusreceived aggregated sensor data retrieved by the intermediate mobilerouter from a received neighbor advertisement message.

Hence, the mobile routers can propagate aggregated sensor data towardthe clusterhead using neighbor advertisement messages that are reliedupon for propagation of network reachability information within thetree-based ad hoc mobile network. Consequently, wireless network trafficcan be dramatically reduced by multiple orders of magnitude based onimplementing a tree-based wireless ad hoc mobile network: the tree-basedwireless ad hoc mobile network enables each sensor host node to send itssensor data to a single attachment mobile router, eliminating thenecessity of relaying data packets from sensor host nodes throughout amesh network. Further, aggregation of sensor data by each mobile routercan minimize data traffic for sensor data based on adding the aggregatedsensor data within neighbor advertisement messages that are required formaintaining reachability within the tree-based wireless ad hoc mobilenetwork, eliminating the necessity of continuous transport of datapackets carrying sensor data from sensor host nodes throughout thetree-based wireless ad hoc mobile network. As described below,additional information can be added to the aggregated sensor data,including statistical information about the aggregated sensor data(e.g., number of sensor data elements aggregated, sum of the sensor dataelements, mean or median of the sensor data elements, standard deviationof the sensor data elements, etc.), and/or categorizing the aggregatedsensor data based on sensor attribute types, where statistics can besegregated based on the sensor attribute type (e.g., temperature, airpressure, water pressure, photoreceptor, chemoreceptor, position/GPSvalue, velocity, acceleration, acoustic values, etc.).

FIG. 1 is a diagram illustrating an example system 5 having a mobile adhoc network 10 having been established by mobile routers 12 forreception of sensor data messages from attached sensor host nodes 11(illustrated in FIG. 1 as squares within the mobile ad hoc network 10),according to an example embodiment. The mobile routers 12 (e.g., 12 a,12 b, 12 c, 12 d, 12 e, and 120 establish the mobile ad hoc network 10according to a protocol requiring establishment of a tree topologyhaving a single clusterhead, as described for example incommonly-assigned U.S. Patent Publication No. 2005/0265259, described infurther detail below with respect to FIG. 2. Each host sensor node 11can be configured for attaching to a single mobile router according toprescribed attachment requirements, for example, the mobile router 12providing the strongest or most reliable wireless IEEE 802.11 link, suchthat all host sensor host nodes 11 within a corresponding region (e.g.,13 a, 13 b, 13 c, 13 d, 13 e, or 130 will attach to a correspondingmobile router (e.g., 12 d).

The clusterhead (e.g., mobile router 12 a) can be configured forattaching to an access router 15 providing access to the wide areanetwork 19 via an available link 17 (e.g., a wired IEEE 802.3 orwireless 802.11 link), enabling a remote correspondent node 21 executinga sensor application 23 to receive aggregated sensor data, describedbelow, via the wide area network 19. The clusterhead 12 a also can beconfigured to not require any attachment to any attachment router 17 ifthe correspondent node 21 is attached to one of the mobile routers 12within the mobile ad hoc network 10, in which case the mobile ad hocnetwork 10 can be a floating tree, as described in commonly-assignedU.S. Pat. No. 7,203,175, published Feb. 19, 2004 as ApplicationPublication US 2004/0032852 A1, entitled “ARRANGEMENT FOR ROUTERATTACHMENTS BETWEEN ROAMING MOBILE ROUTERS IN A MOBILE NETWORK”.

As described in detail below, each mobile router 12 can be configured tonot forward sensor data messages received from attached sensor hostnodes 11, such that each mobile router 12 can block any forwarding of asensor data message received from a sensor host node 11. Rather, eachmobile router 12 can be configured for aggregating sensor data elementsspecified within the sensor data messages, where each sensor dataelement specifies a detected sensor parameter. Each mobile router (e.g.,12 d) also can be configured for generating and outputting a neighboradvertisement message to its corresponding attachment router (e.g., 12b) that can include the aggregated sensor data, described below withrespect to FIG. 4.

Hence, each of the mobile routers 12 can be configured for blockingtransfer of received sensor data messages, and forwarding aggregatedsensor data toward the clusterhead 12 a only in response to a prescribedevent that necessitates transmission of a neighbor advertisementmessage, improving efficiency in the network 10 by replacing thetransfer of sensor data messages with neighbor advertisement messagescarrying aggregated sensor data. Further, use of the tree topologyensures that each sensor host node 11 attaches to one and only onemobile router 12 at a time, ensuring that duplicate packets are notreceived and propagated into the mobile ad hoc network tree 10 bymultiple mobile routers 12.

A description will first be provided of the formation of the treetopology 10 by the mobile routers 12, followed by a description of theaggregation of sensor data according to the example embodiments.

FIG. 2 illustrates in further detail the example ad hoc network tree 10according to an example embodiment. Each mobile router 12 can serve asan attached mobile router and/or an attachment mobile router. Eachrouter 12 can be configured for outputting a router advertisementmessage 14, illustrated in FIG. 3, that specifies a prescribed addressprefix 18 used by the mobile router 12. Each attached mobile router(e.g., 12 b, 12 c, 12 d, 12 e, and 12 f) can be configured for attachingto one of the attachment routers (e.g., 12 a, 12 b, 12 c) in response toreceived advertisement messages by selecting a default attachmentaddress 20, and in compliance with a protocol requiring establishment ofa tree topology having a single clusterhead. Note that the addressprefix (e.g., “1::/64”) 18 used by a mobile router (e.g., 12 a) refersto the address prefix used by the mobile router 18 in creating andmaintaining an addressable subnet for routing of data packets to nodesconnected to ingress interface circuitry of the mobile router 18; asillustrated below with respect to FIG. 5, a mobile router 18 can includeentries (e.g., routing table entries, neighbor cache entries) forrouting packets within the subnet specified by the address prefix usedby the mobile router 18.

According to an example embodiment, the tree topology illustrated in themobile ad hoc network 10 is relied upon in minimizing the amount ofrouting information needed to be transferred among mobile routers, andminimizing the transfer of sensor data. In particular, a tree topologyhaving a single clusterhead 12 a inherently has no loops. Since the treetopology 10 inherently has no loops, attached mobile routers can beconfigured to provide no more than the minimum routing informationnecessary for an attached mobile router to identify network addressprefixes that are reachable via an attached mobile node. Further, sensorhost nodes 11 can be configured to send messages (e.g., sensor datamessages) only to their current attachment router; hence, all sensorhost nodes 11 within the region 13 d can be configured to attach only tothe mobile router 12 d and send sensor data messages only to thecorresponding attachment mobile router 12 d (e.g., by using the mobilerouter unicast address 25), ensuring that no other nearby mobile router(e.g., 12 b or 12 e) will automatically forward any sensor data messagethat is not specifically addressed to that nearby mobile router.

Attached mobile routers (e.g., 12 b, 12 c, 12 d, 12 e, 12 f) canidentify themselves to an attachment mobile router (e.g., 12 a) bysending neighbor advertisement messages 16 that specify anetwork-in-node option, namely that a network node has at least onenetwork address prefix. As described below with respect to FIG. 4, thenetwork-in-node option 22 can specify to the attachment mobile router(e.g., 12 a) no more than that a given network prefix 18 (e.g., 2::/64of mobile router “2” 12 b) is reachable via a default attachment address20 (e.g., 1::2) within the address space of the address prefix 18 of theattachment router (i.e., the attachment prefix). As described below withrespect to FIG. 4, the neighbor advertisement message also can includean aggregated sensor data option 27 that specifies aggregated sensordata.

Hence, a neighbor advertisement message 16 from the attached mobilerouter 12 b can be detected by the attachment mobile router 12 a tospecify merely that the network prefix “2:164” 18 is reachable via theaddress “1::2” 20 which is within the address realm (i.e., addressspace) of the attachment prefix “1:164” 18 used by the attachment mobilerouter 12 a. Note that no further routing information (e.g., hop count,home address of a node, topology information, source routinginformation, link state information, etc.) needs to be sent to theattachment router 12 a, since the attachment mobile router only needs tobe aware of address prefixes of attached mobile routers. The mobilerouters 12 can be configured for routing a packet specifying an unknowndestination to its default attachment router; hence, the packet isrouted toward the clusterhead 12 a until a mobile router can identifythe destination address relative to an identified network prefix 18.

Hence, the example embodiment provides an efficient proactive routingprotocol for ad hoc networks that minimizes the necessity of bandwidthand processing requirements to accommodate rapid topology changes byproviding rapid convergence.

The mobile routers 12 can dynamically assemble layer 2 clusters into atree-based topology model 10 as illustrated in FIG. 1 using theattachment techniques described for example in the above-identified U.S.Pat. No. 7,203,175. The ad hoc network 10 can be organized into atree-based topology cluster, where the clusterhead (i.e., a root of atree) 12 a can be determined by having the highest relative preferencemetric visible to other mobile routers. Preference metric can be basedon an explicit preference value, described below, or based on a treedepth identifier indicating the relative position of the mobile routerrelative to the clusterhead; in other words, tree depth indicates thenumber of hops to the clusterhead. A mobile router can associate withthe router advertisement (RA) originator by storing the information inthe RA message in its default router list, and selecting the source ofthe RA message as its attachment router.

Hence, the mobile routers 12 b through 12 f can choose an attachmentrouter based on preference metrics specified in received routeradvertisement messages 14. As illustrated in FIG. 2, the mobile routers12 b and 12 c, in response to detecting the unsolicited routeradvertisement message (“RA1”) 14, can add the RA1 message 14 to theirinternal default router list memory circuitry 55, illustrated in FIG. 5.The mobile routers 12 b through 12 f also can choose an attachmentrouter based on identifying an attachment router having closest matchingpreferences, as described in copending, commonly-assigned U.S. PatentApplication Publication No. 2007/0153707, published Jul. 5, 2007,entitled “Ad Hoc Network Formation and Management Based on Aggregationof Ad Hoc Nodes According to an Aggregation Hierarchy”.

FIG. 3 illustrates an example router advertisement message 14 output bythe mobile router 12 b. As illustrated in FIG. 3, each routeradvertisement message 14 can specify a prefix information option (PIO)65 for address autoconfiguration in accordance with the InternetEngineering Task Force (IETF) Request for Comments (RFC) 2461, and/or atree information option (TIO) field 66. The TIO can specify an availableaddress prefix 18 used by the mobile router 12, and attributes 68 of themobile router 12 b relative to the tree topology 10. For example, thetree information option field 66 can specify the network prefix 18 b, apreference value 68 a, and/or a tree depth 68 b. The preference field 68a can be configured for storing a preference value for the mobile router12 b as stored in a corresponding preference register (not shown),enabling a mobile router receiving the RA message 14 to decide whetherto associate with the source of the RA message 14. The tree depth field68 b can be configured for storing the depth of the mobile router 12within the tree (i.e., the number of hops to the clusterhead), enablingother routers receiving the RA message 14 to determine the relativeposition of the router advertisement originator within the tree 10. Themobile routers 12 d and 12 e can select the mobile router 12 b as theirattachment router based on a specified preference metric (e.g.,preference value, mobile router 12 a advertised as a clusterhead, etc.).

For example, the mobile router 12 b, illustrated in detail in FIG. 5,can create and store in its memory circuit 44 a default attachmentaddress (“1::2”) 20 for use on its egress interface circuit 40 that iswithin the address space of the address prefix “1:164” 18 advertised bythe clusterhead 12 a; the mobile router 12 b also can add an entry inits routing table that specifies that the address prefix “1::/64” isreachable via the default attachment address “1::2” 20. Similarly, themobile router 12 c can create a default attachment address (“1::3”) 20on its egress interface that is within the address space of the addressprefix “1::/64” 18 advertised by the clusterhead 12 a; the mobile router12 c also can add an entry in its routing table that specifies that theaddress prefix “1::/64” is reachable via the default attachmentinterface having been assigned the default attachment address “1::3”.

The mobile routers 12 b and 12 c can begin outputting respective routeradvertisement messages “RA2” and “RA3” 14 on their respective IPv6ingress interface circuits 42, advertising their respective addressprefixes 18 (“2:164” and “3:164”), and the tree depth/preference basedon the clusterhead 12 a being the top level mobile router. As describedabove, any unknown address can be sent by a mobile router 12 using itsdefault attachment address to an attachment router; hence, the routeradvertisement messages “RA2” and “RA3” 14 need not specify the addressprefix “1:164” of the clusterhead 12 a, since all attached mobilerouters (e.g., 12 d, 12 e, 12 f) can forward unknown destinations bydefault to the mobile routers 12 b or 12 c.

The mobile routers 12 d and 12 e having the respective network prefixes18 (“21::/64” and “22:164”) can attach to the mobile router 12 b astheir attachment router by selecting respective default attachmentaddresses 20 (“2::21” and “2::22”) from within the address space(“2:164”) 18 of the attachment router 12 b. Similarly, the mobile router12 f can attach to the mobile router 12 c by selecting a defaultattachment address (“3::31”) 20 from the address space (“3::/64”) 18 ofthe attachment router 12 c. The routers 12 d, 12 e, and 12 f in turn canoutput their own router advertisement messages advertising theirrespective address prefixes (“21:164”, “22:164”, and “31::/64”) 18enabling any network node (host 11 or router 12) to attach based on thecorresponding router advertisement message 14. The router advertisementmessages also can be implemented according to RFC 3971, entitled “SEcureNeighbor Discovery (SEND)”.

Hence, the mobile routers 12 can form a tree topology 10 based onselectively attaching to a mobile router 12 having transmitted a routeradvertisement message 14 with a TIO 66. As apparent from the foregoing,each sensor host nodes 11 also can attach to one of the mobile routers12 based on receiving the corresponding router advertising message 14.

Assuming that no other information has been output into the network 10other than the router advertisement messages 14, each mobile router onlyknows its default route toward the clusterhead 12 a. In other words,none of the mobile routers 12 have any information related to anyattachment nodes away from the clusterhead. In contrast to all themobile routers 12 registering with the clusterhead 12 a to provide theclusterhead 12 a with the source route path to all the prefixes 18, theclusterhead 12 a simply needs to know which attachment address (e.g.,1:2 or 1:3) 20 should be used to reach the identified prefix 18.

Hence, each attached mobile router 12 can send to its attachment routera neighbor advertisement message 16 specifying that the prescribedaddress prefix used by the mobile router 12, and any address prefixesstored internally from received neighbor advertisement messages receivedby the attached mobile router from other mobile routers, are reachablevia the default attachment address used by the mobile router 12. Boththe neighbor advertisement messages 16 and the router advertisementmessages 14 can be implemented according to the SEND protocol asspecified in RFC 3971. Further, since each attached router 12 can beconfigured for sending a neighbor advertisement message 16 to itsdefault attachment router, each attached router 12 also can addaggregated sensor data to each neighbor advertisement message 16,enabling the propagation of aggregated sensor data toward theclusterhead with no increase in traffic (as measured by the number ofmessages sent).

FIG. 4 is a diagram illustrating successive neighbor advertisementmessages 16 a and 16 b output by the respective mobile routers 12 d and12 b based on having attached to an attachment router according to thetree topology 10 of FIG. 1. As illustrated in FIG. 4, the mobile router12 d can receive sensor data messages 30 a, 30 b from respective sensorhost nodes 11 a and 11 b. Each sensor data message (e.g., 30 a) caninclude multiple sensor data elements 32 specifying respective detectedsensor parameters 34, for example temperature (“T” in Celsius),atmospheric pressure (“P” in torr), wireless network signal level (“Sig”in dBm), sensor host node battery level (“V” in volts), etc.

In response to receiving the sensor data messages 30 a and 30 b, themobile router 12 d can be configured for blocking further transfer ofthe sensor data messages 30 a and 30 b, and instead aggregate the sensordata elements 32 into locally aggregated sensor data 36. Exampleaggregated sensor data 36 can include the number (N) of sensor hostnodes 11 having submitted sensor data messages (e.g., 30 a), averagetemperature (T_Avg) 56 a, temperature standard deviation (T_σ) 56 b,average air pressure (P_Avg) 56 c, air pressure standard deviation (P_σ)56 d, average wireless network signal level (Sig_Avg) 56 e, and averagesensor host node battery level voltage (V_Avg) 56 f.

FIG. 5 illustrates an example mobile router (e.g., 12 b) 12, accordingto an example embodiment. The mobile router 12 can include an IPv6interface circuit 46, a mobile routing circuit 48, and a memory circuit44.

Assuming the example mobile router 12 of FIG. 5 illustrates the mobilerouter 12 b, the IP interface circuit 46 can include an egress interfacecircuit 40 that can be configured for sending and receiving messages toand from a default attachment router (e.g., 12 a) using a defaultattachment address 20 b having been selected by the mobile routingcircuit 48 in response to a received router advertisement message 14from the attachment router (e.g., 12 a). For example, in response to theegress interface circuit 40 of the mobile router 12 b receiving therouter advertisement message “RA1” 14 from the mobile router 12 a, themobile routing circuit 48 can select a default attachment address (e.g.,“1::2”) 20 b that is within the address space of the attachment prefix(e.g., “1:164”) 18 a specified in the received router advertisementmessage “RA1” 14. The egress interface circuit 40 also can be configuredfor outputting to the attachment router (e.g., 12 a) a neighboradvertisement message (e.g., 16 b of FIG. 4) 16 having been generated bythe mobile routing circuit 48, described below, and that specifies thedefault attachment address (e.g., “1::2”) 20 b within the correspondingsource address field 39.

The ingress interface circuit 42 can be configured for outputting routeradvertisement messages (e.g., “RA2”) 14 having been generated by themobile routing circuit 48, advertising the availability of a prescribedaddress prefix (e.g., “2::/64”) 18 b and a prescribed subnet gatewayaddress (e.g., “2::2”) 25 b used by the ingress interface circuit 42.Hence, any attached mobile router (e.g., 12 d) can send a neighboradvertisement message (e.g., 16 a of FIG. 4) to the ingress interfacecircuit 42 of the mobile router (e.g., 12 b) by specifying thecorresponding subnet gateway address 25 b within a destination addressfield 38 of the neighbor advertisement message (e.g., 16 a).

Similarly, any attached sensor host node 11 can send a sensor datamessage 30 to the ingress interface circuit 42 of the mobile router 12 bbased on specifying the corresponding subnet gateway address 25 withinthe destination address field 38 of the sensor data message 30. Hence,the ingress interface circuit 42 can be configured for receivingneighbor advertisement messages (e.g., 16 a of FIG. 4) from the attachedmobile routers 12, and sensor data messages 30 from attached sensor hostnodes 11.

The mobile routing circuit 48 can be configured for performing allmobile router operations, including neighbor discovery operations (e.g.,according to RFC 2461 and/or RFC 3971), processing received routeradvertisement messages (e.g., “RA1”) 14 based on storing received routeradvertisement parameters into a default router list circuit 55, andattaching to the attachment router 12 a according to a protocolrequiring establishing a tree topology having a single clusterhead,based on selecting an attachment address (“1::2”) 20 b based on thereceived router advertisement message (e.g., “RA1”) 14 and that iswithin the address space of the address prefix (e.g., “1::/64”) 18 aspecified in the received router advertisement message (e.g., “RA1”) 14.As described above, the mobile routing circuit 48 can select anattachment router, from among multiple advertising mobile routers 12,using the attachment techniques described for example in theabove-identified U.S. Pat. No. 7,203,275 or U.S. Patent ApplicationPublication No. 2007/0153707. The mobile routing circuit 48 also can beconfigured for generating router advertisement messages (e.g., “RA2”)14, illustrated in FIG. 3, specifying availability of the prescribedaddress prefix (“2::/64”) 18 b that is distinct from the attachmentprefix (“1::/64”) 18 a, and further specifying attributes of the mobilerouter 12 b relative to the tree topology 10, for example the depth 68 bof the mobile router 12 b within the tree 10, or an advertisedpreference 68 a of joining the mobile router 12 b within the mobile adhoc network tree 10.

The mobile routing circuit 48 also can be configured for adding entriesto the routing table circuit 50 and/or a neighbor cache circuit 52,based on received router advertisement messages 14 and/or neighboradvertisement messages 16, for example according to RFC 2461 and/or RFC3971.

As described below, the mobile routing circuit 48 of the mobile router12 b also can be configured for generating a neighbor advertisementmessage 16 b, illustrated in FIG. 4, that can specify a network in nodeoption (NINO) 22, and/or an aggregated sensor data option 27. The mobilerouting circuit 48 can generate the network in node option 22 based onstoring reachability information for specified prefixes (e.g., “21::/64”18 d) from received neighbor advertisement messages (e.g., 16 a) intothe routing table circuit 50 in the memory circuit 44, and retrievingthe reachability information from the routing table circuit 50 and theassigned router prefix 18 b and attachment address 20 b from the memorycircuit 44. Hence, the mobile routing circuit 48 can specify within thenetwork in node option 22 that the prefixes 18 b, 18 c, and 18 d all arereachable via the default attachment address 20 b.

The mobile routing circuit 48 also can be configured for aggregating thesensor data elements 32 from received sensor data messages 30 intolocally aggregated sensor data 36, which can then be stored by themobile routing circuit 48 into an aggregated sensor data cache 54 in thememory circuit 44. As illustrated in FIG. 4, the mobile router 12 d cangenerate locally aggregated sensor data 36 d, and the mobile router 12 bcan generate locally aggregated sensor data 36 b.

As illustrated in FIG. 4, the mobile router 12 d can output to itsattachment router 12 b the neighbor advertisement message 16 a thatincludes the network in node option 22 and the aggregated sensor dataoption 27 specifying the locally aggregated sensor data 36 d having beenaggregated by the mobile router 12 d. The mobile routing circuit 48within the mobile router 12 b also can be configured for storingreceived aggregated sensor data 36 d and 36 e into the aggregated sensordata cache 54 based on reception of the respective aggregated sensordata 36 d and 36 e from respective neighbor advertisement messages 16output by the respective attached mobile routers 12 d and 12 e.

Hence, the mobile routing circuit 48 can be configured for aggregatingits locally aggregated sensor data 36 b with the received aggregatedsensor data 36 d from the received neighbor advertisement message 16 a,along with received aggregated sensor data 36 e received from theattached mobile router 12 e via another neighbor advertisement message,in order to form a total aggregated sensor data 38 which can then becached by the mobile routing circuit 48 into the aggregated sensor datacache 54. Hence, the total aggregated sensor data 38 represents anaggregation of all sensor data within the subtree attached to thecorresponding mobile router 12 b, based on a combined aggregation oflocally aggregated sensor data (e.g., 36 b) with received aggregatedsensor data (e.g., 36 d and 36 e) received from respective mobilerouters (e.g., 12 d and 12 e). In addition, the mobile routing circuit48 can aggregate the aggregated sensor data 36 and 38 as statisticaldata according to the respective sensor attribute types 56, for exampleaverage temperature 56 a, standard temperature deviation 56 b, averageair pressure 56 c, standard air pressure deviation 56 d, averagewireless networks signal strength 56 e, or average sensor batteryvoltage 56 f. The mobile routing circuit 48 also can add to theaggregated sensor data option source identifiers 58 that identify themobile router having generated the locally aggregated sensor data 36,and a number value (N) that specifies the number of sensor host nodeshaving supplied sensor data messages within the correspondingaggregation.

Further, the mobile routing circuit 48 can be configured to block sensordata messages received from attached to sensor host nodes 11, ensuringthat the mobile ad hoc network 10 is not flooded with sensor datamessages. In contrast, the mobile routing circuit 48 can be configuredto forward non-sensor data messages from IPv6 host nodes that are notsensor host nodes, or even non-sensor data messages from attached tosensor host nodes 11, enabling a sensor application 23 executed in acorrespondent node 21 to remotely configure a specific sensor host node(e.g., 11 a), and permitting the specific sensor host node 11 a toreturn an acknowledgment packet back to the sensor application 23following configuration of the sensor host node 11 a.

Any of the disclosed circuits in the mobile routers 12 (including thenetwork interface circuit 46, the memory circuit 44, and the mobilerouting circuit 48, and their associated components) can be implementedin multiple forms. Example implementations of the disclosed circuitsinclude hardware logic that is implemented in a logic array such as aprogrammable logic array (PLA), a field programmable gate array (FPGA),or by mask programming of integrated circuits such as anapplication-specific integrated circuit (ASIC). Any of these circuitsalso can be implemented using a software-based executable resource thatis executed by a corresponding internal processor circuit such as amicroprocessor circuit (not shown), where execution of executable codestored in an internal memory circuit (e.g., within the memory circuit28) causes the processor circuit to store application state variables inprocessor memory, creating an executable application resource (e.g., anapplication instance) that performs the operations of the circuit asdescribed herein. Hence, use of the term “circuit” in this specificationrefers to both a hardware-based circuit that includes logic forperforming the described operations, or a software-based circuit thatincludes a reserved portion of processor memory for storage ofapplication state data and application variables that are modified byexecution of the executable code by a processor. The memory circuit 44can be implemented, for example, using a non-volatile memory such as aprogrammable read only memory (PROM) or an EPROM, and/or a volatilememory such as a DRAM, etc.

Further, any reference to “outputting a message” or “outputting apacket” can be implemented based on creating the message/packet in theform of a data structure and storing that data structure in a tangiblememory medium in the disclosed apparatus (e.g., in a transmit buffer).Any reference to “outputting a message” or “outputting a packet” alsocan include electrically transmitting (e.g., via wired electric currentor wireless electric field, as appropriate) the message/packet stored inthe tangible memory medium to another network node via a communicationsmedium (e.g., a wired or wireless link, as appropriate) (opticaltransmission also can be used, as appropriate). Similarly, any referenceto “receiving a message” or “receiving a packet” can be implementedbased on the disclosed apparatus detecting the electrical (or optical)transmission of the message/packet on the communications medium, andstoring the detected transmission as a data structure in a tangiblememory medium in the disclosed apparatus (e.g., in a receive buffer).

Also note that the memory circuit 44 can be implemented dynamically bythe mobile routing circuit 48, for example based on memory addressassignment and partitioning executed by the mobile routing circuit 48.

FIG. 6 illustrates an example method by the mobile router of FIG. 5 ofgenerating and outputting a neighbor advertisement message includingaggregated network prefix reachability information and aggregated sensordata, according to an example embodiment. The steps described in FIGS. 6and 7 can be implemented as executable code stored on a computerreadable medium (e.g., floppy disk, hard disk, ROM, EEPROM, nonvolatileRAM, CD-ROM, etc.) that are completed based on execution of the code bya processor; the steps described herein also can be implemented asexecutable logic that is encoded in one or more tangible media forexecution (e.g., programmable logic arrays or devices, fieldprogrammable gate arrays, programmable array logic, application specificintegrated circuits, etc.).

It also should be noted that the steps illustrated in FIGS. 6 and 7illustrative in nature only: for example, many of the steps illustratedin Figures six and seven can be executed asynchronously, and do not needto be executed sequentially.

The mobile routing circuit 48 (e.g., within the mobile router 12 a)initiates attachment to an attachment router based on storing in step 60the tree information option parameters 66 and the prefix informationoption 65 into the default router list 55. As illustrated in FIG. 5,each entry 62 of the default router list 55 includes a router addressfield 64 specifying the corresponding subnet gateway address (e.g., 25a, 25 c), the advertised address prefix 18 specified in the prefixinformation option 65 and the tree attribute fields 68 a and 68 bretrieved from the tree information option 66 of the routeradvertisement message 14, a router expiration timer field 70 thatspecifies information, including timer ID, to determine the expirationof the entry, and a tree hop timer field 72 that specifies information,including a corresponding timer ID, to delay any response to a receivedRA message in order to provide tree stability.

The mobile routing circuit 48 attaches in step 74 to the attachmentrouter according to the tree topology, based on prescribed attachmenttechniques, for example as described in U.S. Pat. No. 7,203,175, or U.S.Patent Application Publication No. 2007/0153707 (e.g., the based on theclosest match between the preferred preference in the availablepreference). The mobile routing circuit 48 also selects its defaultattachment address (e.g., 20 b). The mobile routing circuit 48 generatesin step 76 for output by the ingress interface circuit 42 an updatedrouter advertisement message (e.g., “RA2”) 14 that has an updated treeinformation option 66 in preference relative to the tree informationoption specified in the attachment router. Alternately, the mobilerouting circuit 48 can output a router advertisement message 14specifying that it is the clusterhead at a depth of zero, in the eventthat the mobile router is “floating” and has not yet attached to anyattachment router.

The ingress interface circuit 42 can receive in step 78 sensor datamessages 30 from attached sensor host nodes 11, where the sensor hostnodes 11 have attached in response to detecting the router advertisementmessage output from the mobile router 12. The mobile routing circuit 48can identify the received data packets as sensor data messages accordingto prescribed settings, for example based on the host identifier 80 ofthe attached sensor host node, based on a link layer (MAC) address 82,or based on other prescribed settings preconfigured within the mobilerouting circuit 48. As described above, step 78 is illustrated as anexample only, and need not be executed according to a particularsequence; to the contrary, step 78 preferably is executed as anasynchronous event that is independent of any other mobile routeroperations such that the ingress interface circuit 42 can receive sensordata messages 30 at any time.

The mobile routing circuit 48 can aggregate in step 84 the sensor dataelements 32 from the received sensor data messages 30 into the locallyaggregated sensor data (e.g., 36 b), stored as statistical data andorganized for example according to sensor attribute type 56. The mobilerouting circuit 48 can add in step 86 the locally aggregated sensor data(e.g., 36 b) into the neighbor advertisement message (e.g., 16 b) to beoutput to the attachment router (e.g., 12 a).

In response to the ingress interface circuit 42 detecting in step 88reception of a neighbor advertisement message (e.g., 16 a) from anattached mobile router (e.g., 12 d), the mobile routing circuit 48(e.g., of the mobile router 12 b) can store any advertised prefixeswithin any network in node option 22 into the routing table circuit 50and/or the neighbor cache circuit 52, as appropriate, and add in step 90the address prefixes (e.g., 18 d, 18 e) from the routing table entriesin the routing table circuit 50 to the neighbor advertisement message 16b. As described above with respect to step 78, reception of neighboradvertisement messages by the ingress interface circuit 42 preferably isasynchronous that is independent of any other mobile router operations.

If in step 92 the received neighbor advertisement message includesreceived aggregated sensor data (e.g., 36 d), the mobile routing circuit48 can cache the received aggregated sensor data (e.g., 36 d) into theaggregated sensor data cache 54, and add in step 94 the locallyaggregated sensor data (e.g., 36 b) with the received aggregated sensordata (e.g., 36 d, 36 e) to generate the total aggregated sensor data 38from all the available sources, including the locally aggregated sensordata 36 b, and the received aggregated sensor data 36 d and 36 e,organized according to the sensor attribute type 56. The mobile routingcircuit 48 can then add the total aggregated sensor data 38 to theneighbor advertisement message 16 b in step 96, and outputs the neighboradvertisement message 16 b in step 98.

As apparent from the foregoing, the neighbor advertisement message 16can provide network prefix aggregation (specified within the network innode option 22) and aggregated sensor data (specified within theaggregated sensor data option 27) for a single mobile router, forexample in the case of a leaf mobile router 12 d outputting a neighboradvertisement message 16 a specifying only locally aggregated sensordata 36 d and its own address prefix 18 d. Mobile routers that arecloser to the clusterhead, however, can add more prefix information 18and aggregated sensor data (e.g., 38, 36 b, 36 d, 36 e), without anyincrease in the number of neighbor advertisement messages that need tobe propagated toward the clusterhead 12 a.

FIG. 7 illustrates an example method by the mobile router of FIG. 5 ofgenerating and outputting updated neighbor advertisement messages,according to an example embodiment. As described previously, trafficthrough the mobile ad hoc network 10 can be minimized to only the eventsthat require transmission of reachability information to maintain thetree topology of the noble ad hoc network 10, or to update any changeswithin the tree topology. Hence, in response to the reception of sensordata messages in step 78 as in FIG. 6, the mobile routing circuit 48 canaggregate the sensor data in step 84, as in FIG. 6. The mobile routingcircuit 40 also can add the locally aggregated sensor data (e.g., 36 b)in step 86 of FIG. 7 to the neighbor advertisement message to betransmitted to the attachment router. The mere reception of sensor datamessages 30, however, does not cause the transmission of the neighboradvertisement message 16. Rather, if in step 100 the mobile routingcircuit 48 (e.g., of the mobile router 12 b) determines that no neighboradvertisement messages 16 have been received from any attached mobilerouter 12, the mobile routing circuit 48 determines in step 102 whetherany routing table entry has been deleted from the routing table circuit50, requiring an updated neighbor advertisement message to betransmitted to the attachment router to notify of the topology change.

If no routing table entry has been deleted from the routing tablecircuit 50, and if in step 104 the mobile routing circuit 48 has notchosen a new attachment router, the mobile routing circuit 48 determinesin step 106 whether a sensor exception event has occurred, for examplewhether any sensor data element value from a received sensor datamessage 30, or an aggregated sensor data value (e.g., one of theaggregated values 36 b) exceeds a prescribed data value or a prescribedstatistical value. If no sensor exception event is detected in step 106,the mobile routing circuit 48 can determine in step 108 whether aprescribed neighbor advertisement wait interval has expired thatnecessitates transmission another neighbor advertisement message 16(e.g., as a heartbeat message). If no prescribed neighbor advertisementwait interval has expired, the mobile routing circuit 48 will return tostep 78 of FIG. 7 without transmitting a neighbor advertisement message.

Hence, the mobile routing circuit 48 can be configured to output anupdated neighbor advertisement message in step 110 only in response toone of the detected events of steps 100, 102, 104, 106, or 108,minimizing unnecessary transmission of neighbor advertisement messagesin the mobile ad hoc network 10: although not illustrated in FIG. 7, andthe inherent operation in the outputting of an updated neighboradvertisement message in step 110 includes purging the aggregated sensordata cache 54 by the mobile router circuit 48 to ensure that only “freshdata” (as opposed to stale data) is sent to the attachment router, andto ensure that if the mobile router 12 attaches to a new attachmentrouter, the new attachment router does not aggregate sensor data thatalready has been transmitted toward the clusterhead. If preferred, themobile router circuit 48 can be configured to output updated neighboradvertisement messages in response to events other than those specifiedwith respect to steps 100, 102, 104, 106, or 108.

Although the aggregated sensor data in the neighbor advertisementmessage is illustrated is illustrated as an option field, it will beappreciated that the aggregated sensor data also can be expressed withinthe neighbor advertisement messages as type length value parametersimplemented using extensible markup language (XML) tags.

Although the example embodiments illustrated neighbor advertisementmessages specifying aggregated sensor data options with the network innode option, a neighbor advertisement message can be transmitted by amobile router, where the neighbor advertisement includes the aggregatedsensor data option without the network in node option, if preferred.

While the example embodiments in the present disclosure have beendescribed in connection with what is presently considered to be the bestmode for carrying out the subject matter specified in the appendedclaims, it is to be understood that the example embodiments are onlyillustrative, and are not to restrict the subject matter specified inthe appended claims.

1. A method comprising: attaching, by a mobile router, to an attachmentrouter according to a protocol requiring establishment of a looplesstopology directed towards a root, the attaching by the mobile routerbased on the mobile router receiving, from the attachment router, anadvertisement message; outputting by the mobile router a secondadvertisement message specifying availability of a prescribed addressprefix used by the mobile router, and further specifying attributes ofthe mobile router relative to the loopless topology; receiving by themobile router a plurality of sensor data messages from at least oneattached sensor node, each sensor data message specifying at least onesensor data element specifying a detected sensor parameter; receiving bythe mobile router a third advertisement message from an attached mobilerouter having attached to the mobile router, the third advertisementmessage specifying aggregated sensor data; aggregating by the mobilerouter the sensor data elements from the sensor data messages with theaggregated sensor data received from the attached mobile router to formsecond aggregated sensor data; and generating and outputting by themobile router a fourth advertisement message to the attachment router,the fourth advertisement message specifying the second aggregated sensordata.
 2. The method of claim 1, wherein the fourth advertisement messagefurther specifies that the prescribed address prefix used by the mobilerouter is reachable via a default attachment address having beenselected by the mobile router.
 3. The method of claim 2, wherein: thethird advertisement message further specifies that a specified addressprefix used by the attached mobile router is reachable via a secondattachment address having been selected by the attached mobile router,the second attachment address within the address space of the prescribedaddress prefix; the generating and outputting including specifyingwithin the fourth advertisement message that the specified addressprefix used by the attached mobile router is reachable via the defaultattachment address of the mobile router.
 4. The method of claim 3,wherein: each of the detected sensor parameters specified in therespective sensor data elements specify data according to one of aplurality of sensor attribute types; the aggregating includesaggregating the sensor data elements and the second aggregated sensordata according to the sensor attribute types, the second aggregatedsensor data specified in the fourth advertisement message as aggregatedsensor parameters according to the respective sensor attribute types. 5.The method of claim 3, wherein the generating includes specifying withinthe fourth advertisement message: the aggregated sensor data, the secondaggregated sensor data with a corresponding identifier identifying thesecond aggregated sensor data is from the attached mobile router, andthe aggregation of the sensor data elements having been received fromthe at least one attached sensor node with a corresponding identifieridentifying the aggregation of the sensor data elements is from themobile router.
 6. The method of claim 1, wherein: each of the detectedsensor parameters specified in the respective sensor data elementsspecify data according to one of a plurality of sensor attribute types;the aggregating includes aggregating the sensor data elements accordingto the sensor attribute types, the aggregated sensor data is specifiedin the fourth advertisement message as aggregated sensor parametersaccording to the respective sensor attribute types.
 7. (canceled)
 8. Themethod of claim 1, further comprising outputting by the mobile router anupdated advertisement message to the attachment router only in responseto one of: a fifth advertisement message received by the mobile routerfrom any attached mobile router having attached to the mobile router; adeletion of a routing table entry within the mobile router; the mobilerouter having attached to a second attachment router based on acorresponding received sixth advertisement message from the secondattachment router; expiration of a prescribed neighbor advertisementwaiting time interval; or a prescribed event based on the mobile routerdetecting one of the sensor data elements or the aggregated sensor dataexceeding a prescribed threshold.
 9. The method of claim 1, furthercomprising generating, by the mobile router, statistical data describingat least a portion of the aggregated sensor data, the generating andoutputting including inserting within the fourth advertisement messagethe statistical data.
 10. An apparatus comprising: an Internet protocol(IP) interface circuit configured for receiving an advertisement messagefrom an attachment router, the IP interface circuit further configuredfor outputting a second advertisement message specifying availability ofa prescribed address prefix used by the apparatus, the IP interfacecircuit further configured for receiving a plurality of sensor datamessages from at least one attached sensor node and a thirdadvertisement message from an attached mobile router having attached tothe apparatus, each sensor data message specifying at least one sensordata element specifying a detected sensor parameter and the thirdadvertisement message specifying aggregated sensor data; and a secondcircuit configured for attaching to the attachment router as a mobilerouter and according to a protocol requiring establishment of a looplesstopology directed towards a root, the second circuit configured forgenerating the second advertisement message to specify attributes of theapparatus relative to the loopless topology, the second circuit furtherconfigured for generating the second advertisement message in responseto attachment to the attachment router, the second circuit furtherconfigured for aggregating the sensor data elements from the sensor datamessages with the aggregated sensor data received from the attachedmobile router to form second aggregated sensor data, and generating, foroutput by the IP interface circuit, a fourth advertisement message tothe attachment router and that specifies the second aggregated sensordata.
 11. The apparatus of claim 10, wherein the fourth advertisementmessage further specifies that the prescribed address prefix used by theapparatus is reachable via a default attachment address having beenselected by the second circuit.
 12. The apparatus of claim 11, wherein:the third advertisement message further specifies that a specifiedaddress prefix used by the attached mobile router is reachable via asecond attachment address having been selected by the attached mobilerouter, the second attachment address within the address space of theprescribed address prefix; the second circuit is configured forspecifying within the fourth advertisement message that the specifiedaddress prefix used by the attached mobile router is reachable via thedefault attachment address of the apparatus.
 13. The apparatus of claim12, wherein: each of the detected sensor parameters specified in therespective sensor data elements specify data according to one of aplurality of sensor attribute types; the second circuit is configuredfor aggregating the sensor data elements and the second aggregatedsensor data according to the sensor attribute types, the secondaggregated sensor data specified in the fourth advertisement message asaggregated sensor parameters according to the respective sensorattribute types.
 14. The apparatus of claim 12, wherein the secondcircuit is configured for specifying within the fourth advertisementmessage: the aggregated sensor data, the second aggregated sensor datawith a corresponding identifier identifying the second aggregated sensordata is from the attached mobile router, and the aggregation of thesensor data elements having been received from the at least one attachedsensor node with a corresponding identifier identifying the aggregationof the sensor data elements is from the apparatus.
 15. The apparatus ofclaim 10, wherein: each of the detected sensor parameters specified inthe respective sensor data elements specify data according to one of aplurality of sensor attribute types; the second circuit is configuredfor aggregating the sensor data elements according to the sensorattribute types, the aggregated sensor data specified in the fourthadvertisement message as aggregated sensor parameters according to therespective sensor attribute types.
 16. (canceled)
 17. The apparatus ofclaim 10, wherein the second circuit is configured for generating, foroutput by the IP interface circuit to the attachment router, an updatedadvertisement message only in response to one of: a fifth advertisementmessage received by IP interface circuit from any attached mobile routerhaving attached to the apparatus; a deletion of a routing table entrywithin the apparatus by the second circuit; the second circuit havingattached to a second attachment router based on a corresponding receivedsixth advertisement message from the second attachment router;expiration of a prescribed neighbor advertisement waiting time interval;or a prescribed event based on the second circuit detecting one of thesensor data elements or the aggregated sensor data exceeding aprescribed threshold.
 18. The apparatus of claim 10, wherein the secondcircuit is configured for generating statistical data describing atleast a portion of the aggregated sensor data, the second circuitfurther configured for inserting within the fourth advertisement messagethe statistical data.
 19. An apparatus comprising: means for receivingan advertisement message from an attachment router, the means forreceiving further configured for outputting a second advertisementmessage specifying availability of a prescribed address prefix used bythe apparatus, the means for receiving further configured for receivinga plurality of sensor data messages from at least one attached sensornode and a third advertisement message from an attached mobile routerhaving attached to the apparatus, each sensor data message specifying atleast one sensor data element specifying a detected sensor parameter andthe third advertisement message specifying aggregated sensor data; andmeans for attaching to the attachment router according to a protocolrequiring establishment of a loopless topology directed towards a root,the means for attaching configured for generating the secondadvertisement message to specify attributes of the apparatus relative tothe loopless topology, the means for attaching further configured forgenerating the second advertisement message in response to attachment tothe attachment router, the means for attaching further configured foraggregating the sensor data elements from the sensor data messages withthe aggregated sensor data received from the attached mobile router toform second aggregated sensor data, and generating, for output by themeans for receiving, a fourth advertisement message to the attachmentrouter and that specifies the second aggregated sensor data.